

*Presidential Hawkishness, Domestic Popularity, and Diplomatic Normalization
*James D. Kim
*Date: 10/23/2023

**For any questions about the data, please contact the author at kimjames@mit.edu

* Working directory: Set your working directory as the foloder where you downloaded the data file

use PSQ-DN-JDK

** Main analysis
* Table 2: LPM 
reg DR c.theta2_mean_a##c.popularity c.theta2_mean##c.growth cinca cincb polityb time* if independence==0, robust cluster(dyadid)
eststo model1
reg DR c.theta2_mean_a##c.popularity c.theta2_mean##c.growth cinca cincb polityb time* i.dyadid if independence==0, robust cluster(dyadid)
eststo model2
reg DR2 c.theta2_mean_a##c.popularity c.theta2_mean##c.growth cinca cincb polityb time* if independence==0  , robust cluster(dyadid)
eststo model3
reg DR2 c.theta2_mean_a##c.popularity c.theta2_mean##c.growth cinca cincb polityb time* i.dyadid if independence==0 , robust cluster(dyadid)
eststo model4

esttab using table1.tex, replace label se nodepvars booktabs alignment(l) width(0.8\hsize) ///
b(a3) addn(Robust standard errors are clustered by dyads and in parentheses.) /// 
star(+ 0.10 * 0.05 ** .01 *** .001) stats(N r2 ll, label("N Obs." "Overall $R^2$" "Log Lik.")) nogaps scalars("N Obs." "R squared" "Log Lik.") ///
title(Regression of Presidential Hawkishness and Diplomatic Normalization\label{reg1})

*******Marginal Effects (Figure 2)***********
**US Leader marginal effects 
* Left panel: Establishment of embassy 
reg DR c.theta2_mean_a##c.popularity c.theta2_mean##c.growth cinca cincb polityb time* i.dyadid if independence==0, robust cluster(dyadid)
margins, dydx(popularity) at(theta2_mean_a=(-1 (0.2) 1)) vsquish
marginsplot, xlabel(-1 (0.2) 1) recast(line) 
graph save Graph1

* Right panel: Establishment of embassy + diplomatic visits
reg DR2 c.theta2_mean_a##c.popularity c.theta2_mean##c.growth cinca cincb polityb time* i.dyadid if independence==0 , robust cluster(dyadid)
margins, dydx(popularity) at(theta2_mean_a=(-1 (0.2) 1)) vsquish
marginsplot, xlabel(-1 (0.2) 1) recast(line) 
graph save Graph2
graph combine Graph1 Graph2

** Appendix
* Table 1: Logit Regression
logit DR c.theta2_mean_a##c.popularity c.theta2_mean##c.growth cinca cincb polityb time* if independence==0, robust cluster(dyadid)
eststo model1
logit DR c.theta2_mean_a##c.popularity c.theta2_mean##c.growth cinca cincb polityb time* i.dyadid if independence==0, robust cluster(dyadid)
eststo model2
logit DR2 c.theta2_mean_a##c.popularity c.theta2_mean##c.growth cinca cincb polityb time* if independence==0  , robust cluster(dyadid)
eststo model3
logit DR2 c.theta2_mean_a##c.popularity c.theta2_mean##c.growth cinca cincb polityb time* i.dyadid if independence==0 , robust cluster(dyadid)
eststo model4

esttab using table2.tex, replace label se nodepvars booktabs alignment(l) width(0.8\hsize) ///
b(a3) addn(Robust standard errors are clustered by dyads and in parentheses.) /// 
star(+ 0.10 * 0.05 ** .01 *** .001) stats(N r2 ll, label("N Obs." "Overall $R^2$" "Log Lik.")) nogaps scalars("N Obs." "R squared" "Log Lik.") ///
title(Logit Regression of Presidential Hawkishness and Diplomatic Normalization\label{reg2})

*******Marginal Effects (Figure 1)***********
**US Leader marginal effects 
* Left panel: Establishment of embassy 
logit DR2 c.theta2_mean_a##c.popularity c.theta2_mean##c.growth cinca cincb polityb time* i.dyadid if independence==0, robust cluster(dyadid)
margins, dydx(popularity) at(theta2_mean_a=(-1 (0.2) 1)) vsquish
marginsplot, xlabel(-1 (0.2) 1) recast(line) 
graph save Graph3

* Right panel: Establishment of embassy + diplomatic visits
reg DR2 c.theta2_mean_a##c.popularity c.theta2_mean##c.growth cinca cincb polityb time* i.dyadid if independence==0 , robust cluster(dyadid)
margins, dydx(popularity) at(theta2_mean_a=(-1 (0.2) 1)) vsquish
marginsplot, xlabel(-1 (0.2) 1) recast(line) 
graph save Graph4
graph combine Graph3 Graph4

*******Marginal Effects (Figure 2)***********
**Side B Leader marginal effects 
* Left panel: Logit 
reg DR c.theta2_mean_a##c.popularity c.theta2_mean##c.growth cinca cincb polityb time* i.dyadid if independence==0, robust cluster(dyadid)
margins, dydx(growth) at(theta2_mean=(-1 (0.2) 1)) vsquish
marginsplot, xlabel(-1 (0.2) 1) recast(line) 
graph save Graph5

* Right panel: LPM
reg DR2 c.theta2_mean_a##c.popularity c.theta2_mean##c.growth cinca cincb polityb time* i.dyadid if independence==0, robust cluster(dyadid)
margins, dydx(growth) at(theta2_mean=(-1 (0.2) 1)) vsquish
marginsplot, xlabel(-1 (0.2) 1) recast(line)  
graph save Graph6

graph combine Graph5 Graph6
************************************************

**Table 2: Monte Carlo latent hawkishness variable
**The latent variable is generated through R script titled "LatentVariableMC.R" 

gen mc_hawkish = .
replace mc_hawkish = 0.386088460815135 if leadername1 == "Truman" 
replace mc_hawkish = 1.32443747962205 if leadername1 == "Eisenhower" 
replace mc_hawkish = -0.112906749696586 if leadername1 == "Kennedy" 
replace mc_hawkish = 0.0515987830292734 if leadername1 == "Johnson" 
replace mc_hawkish = -0.429813425098087 if leadername1 == "Nixon" 
replace mc_hawkish = 0.872031100243038 if leadername1 == "Ford" 
replace mc_hawkish = 0.189015513629302 if leadername1 == "Carter" 
replace mc_hawkish = -0.325905628842068 if leadername1 == "Reagan" 
replace mc_hawkish = 0.594600388837932 if leadername1 == "Bush" 
replace mc_hawkish = -0.714909381776662 if leadername1 == "Clinton" 
replace mc_hawkish = -0.231973562436677 if leadername1 == "G.W. Bush" 

* Monte Carlo latent hawkishness variable
reg DR c.mc_hawkish##c.popularity c.theta2_mean##c.growth cinca cincb polityb time* if independence==0, robust cluster(dyadid)
eststo model1
reg DR c.mc_hawkish##c.popularity c.theta2_mean##c.growth cinca cincb polityb time* i.dyadid if independence==0, robust cluster(dyadid)
eststo model2
reg DR2 c.mc_hawkish##c.popularity c.theta2_mean##c.growth cinca cincb polityb time* if independence==0  , robust cluster(dyadid)
eststo model3
reg DR2 c.mc_hawkish##c.popularity c.theta2_mean##c.growth cinca cincb polityb time* i.dyadid if independence==0 , robust cluster(dyadid)
eststo model4

esttab using table3.tex, replace label se nodepvars booktabs alignment(l) width(0.8\hsize) ///
b(a3) addn(Robust standard errors are clustered by dyads and in parentheses.) /// 
star(+ 0.10 * 0.05 ** .01 *** .001) stats(N r2, label("N Obs." "Overall $R^2$")) nogaps scalars("N Obs." "R squared" ) ///
title(Linear Regression of Presidential Hawkishness and Diplomatic Normalization\label{reg3})

* Alternative Hawkishness: M1 of Carter and Smith (2020) 
reg DR c.theta1_mean_a##c.popularity c.theta1_mean##c.growth cinca cincb polityb time* if independence==0, robust cluster(dyadid)
eststo model1
reg DR c.theta1_mean_a##c.popularity c.theta1_mean##c.growth cinca cincb polityb time* i.dyadid if independence==0, robust cluster(dyadid)
eststo model2
reg DR2 c.theta1_mean_a##c.popularity c.theta1_mean##c.growth cinca cincb polityb time* if independence==0  , robust cluster(dyadid)
eststo model3
reg DR2 c.theta1_mean_a##c.popularity c.theta1_mean##c.growth cinca cincb polityb time* i.dyadid if independence==0 , robust cluster(dyadid)
eststo model4

esttab using table4.tex, replace label se nodepvars booktabs alignment(l) width(0.8\hsize) ///
b(a3) addn(Robust standard errors are clustered by dyads and in parentheses.) /// 
star(+ 0.10 * 0.05 ** .01 *** .001) stats(N r2, label("N Obs." "Overall $R^2$")) nogaps scalars("N Obs." "R squared" ) ///
title(Alternative Hawkishness: M3\label{reg4})

* Alternative Hawkishness: M3 of Carter and Smith (2020) 
reg DR c.theta3_mean_a##c.popularity c.theta3_mean##c.growth cinca cincb polityb time* if independence==0, robust cluster(dyadid)
eststo model1
reg DR c.theta3_mean_a##c.popularity c.theta3_mean##c.growth cinca cincb polityb time* i.dyadid if independence==0, robust cluster(dyadid)
eststo model2
reg DR2 c.theta3_mean_a##c.popularity c.theta3_mean##c.growth cinca cincb polityb time* if independence==0  , robust cluster(dyadid)
eststo model3
reg DR2 c.theta3_mean_a##c.popularity c.theta3_mean##c.growth cinca cincb polityb time* i.dyadid if independence==0 , robust cluster(dyadid)
eststo model4

esttab using table5.tex, replace label se nodepvars booktabs alignment(l) width(0.8\hsize) ///
b(a3) addn(Robust standard errors are clustered by dyads and in parentheses.) /// 
star(+ 0.10 * 0.05 ** .01 *** .001) stats(N r2, label("N Obs." "Overall $R^2$")) nogaps scalars("N Obs." "R squared" ) ///
title(Alternative Hawkishness: M3\label{reg5})

* Excluding Clinton
reg DR c.theta2_mean_a##c.popularity c.theta2_mean##c.growth cinca cincb polityb time* if independence==0 & leadername1 != "Clinton", robust cluster(dyadid)
eststo model1
reg DR c.theta2_mean_a##c.popularity c.theta2_mean##c.growth cinca cincb polityb time* i.dyadid if independence==0 & leadername1 != "Clinton", robust cluster(dyadid)
eststo model2
reg DR2 c.theta2_mean_a##c.popularity c.theta2_mean##c.growth cinca cincb polityb time* if independence==0 & leadername1 != "Clinton", robust cluster(dyadid)
eststo model3
reg DR2 c.theta2_mean_a##c.popularity c.theta2_mean##c.growth cinca cincb polityb time* i.dyadid if independence==0 & leadername1 != "Clinton", robust cluster(dyadid)
eststo model4

esttab using table6.tex, replace label se nodepvars booktabs alignment(l) width(0.8\hsize) ///
b(a3) addn(Robust standard errors are clustered by dyads and in parentheses.) /// 
star(+ 0.10 * 0.05 ** .01 *** .001) stats(N r2, label("N Obs." "Overall $R^2$")) nogaps scalars("N Obs." "R squared" ) ///
title(Excluding Clinton\label{reg6})

* Additional control: Presidential Partisanship
reg DR c.theta2_mean_a##c.popularity c.theta2_mean##c.growth cinca cincb polityb rep_president time* if independence==0, robust cluster(dyadid)
eststo model1
reg DR c.theta2_mean_a##c.popularity c.theta2_mean##c.growth cinca cincb polityb rep_president time* i.dyadid if independence==0, robust cluster(dyadid)
eststo model2
reg DR2 c.theta2_mean_a##c.popularity c.theta2_mean##c.growth cinca cincb polityb rep_president time* if independence==0  , robust cluster(dyadid)
eststo model3
reg DR2 c.theta2_mean_a##c.popularity c.theta2_mean##c.growth cinca cincb polityb rep_president time* i.dyadid if independence==0 , robust cluster(dyadid)
eststo model4

esttab using table7.tex, replace label se nodepvars booktabs alignment(l) width(0.8\hsize) ///
b(a3) addn(Robust standard errors are clustered by dyads and in parentheses.) /// 
star(+ 0.10 * 0.05 ** .01 *** .001) stats(N r2, label("N Obs." "Overall $R^2$")) nogaps scalars("N Obs." "R squared" ) ///
title(Linear Regression of Presidential Hawkishness and Diplomatic Normalization\label{reg7})

*Baseline specification
reg DR c.theta2_mean_a##c.popularity time* if independence==0, robust cluster(dyadid)
eststo model1
reg DR c.theta2_mean_a##c.popularity time* i.dyadid if independence==0, robust cluster(dyadid)
eststo model2
reg DR2 c.theta2_mean_a##c.popularity time* if independence==0, robust cluster(dyadid)
eststo model3
reg DR2 c.theta2_mean_a##c.popularity time* i.dyadid if independence==0, robust cluster(dyadid)
eststo model4

esttab using table8.tex, replace label se nodepvars booktabs alignment(l) width(0.8\hsize) ///
b(a3) addn(Robust standard errors are clustered by dyads and in parentheses.) /// 
star(+ 0.10 * 0.05 ** .01 *** .001) stats(N r2, label("N Obs." "Overall $R^2$")) nogaps scalars("N Obs." "R squared" ) ///
title(Baseline Specification Model\label{reg8})
